#ifndef MEASUREMENT_H_
#define MEASUREMENT_H_

#include <boost/numeric/ublas/matrix.hpp>
#include <boost/numeric/ublas/vector.hpp>
#include <boost/random.hpp>
#include <time.h>

class Measurement
{
	//Random Number Generator
	typedef boost::minstd_rand base_generator_type;
	boost::minstd_rand generator;
	boost::uniform_real<> uni_dist;
	boost::variate_generator<base_generator_type&, boost::uniform_real<> > uni;

	boost::numeric::ublas::matrix<double> H;
	double meas_noise;

public:
	Measurement();
	Measurement(boost::numeric::ublas::matrix<double> _state , double _meas_noise);
	

	boost::numeric::ublas::matrix<double> meas(boost::numeric::ublas::matrix<double> _state);
};


#endif